9ff11b
@@ -987,7 +987,9 @@
public class BeanInfo {
         Iterator<MethodInfo> it = methods.iterator();
         while (it.hasNext()) {
             MethodInfo info = it.next();
-            if (Modifier.isAbstract(info.getMethod().getModifiers())) {
+            // if the class is an interface then keep the method
+            boolean isFromInterface = Modifier.isInterface(info.getMethod().getDeclaringClass().getModifiers());
+            if (!isFromInterface && Modifier.isAbstract(info.getMethod().getModifiers())) {
                 // we cannot invoke an abstract method
                 it.remove();
             }
